package com.example.project.service;

import java.util.List;

import com.example.project.entity.IssueCategorie;

/**
 * 问题分类，定义项目中的问题分类Service接口
 * 
 * @author ruoyi
 * @date 2025-09-19
 */
public interface IssueCategorieService {

	/**
	 * 查询问题分类，定义项目中的问题分类
	 * 
	 * @param id 问题分类，定义项目中的问题分类主键
	 * @return 问题分类，定义项目中的问题分类
	 */
	public IssueCategorie selectIssueCategorieById(Long id);

	/**
	 * 查询问题分类，定义项目中的问题分类列表
	 * 
	 * @param tIssueCategories 问题分类，定义项目中的问题分类
	 * @return 问题分类，定义项目中的问题分类集合
	 */
	public List<IssueCategorie> selectIssueCategorieList(IssueCategorie tIssueCategories);

	/**
	 * 新增问题分类，定义项目中的问题分类
	 * 
	 * @param tIssueCategories 问题分类，定义项目中的问题分类
	 * @return 结果
	 */
	public int insertIssueCategorie(IssueCategorie tIssueCategories);

	/**
	 * 修改问题分类，定义项目中的问题分类
	 * 
	 * @param tIssueCategories 问题分类，定义项目中的问题分类
	 * @return 结果
	 */
	public int updateIssueCategorie(IssueCategorie tIssueCategories);

	/**
	 * 批量删除问题分类，定义项目中的问题分类
	 * 
	 * @param ids 需要删除的问题分类，定义项目中的问题分类主键集合
	 * @return 结果
	 */
	public int deleteIssueCategorieByIds(String ids);

	/**
	 * 删除问题分类，定义项目中的问题分类信息
	 * 
	 * @param id 问题分类，定义项目中的问题分类主键
	 * @return 结果
	 */
	public int deleteIssueCategorieById(Long id);

	public List<IssueCategorie> findAllList();

	/**
	 * 检查分类名称是否已存在
	 * 
	 * @param projectId 项目ID
	 * @param name 分类名称
	 * @return 是否存在
	 */
	public boolean checkCategoryNameExists(Long projectId, String name);
}
